package br.edu.bdd.machado.entity;
// Generated 24/08/2011 02:31:51 by Hibernate Tools 3.2.1.GA


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Livro generated by hbm2java
 */
@Entity
@Table(name="livro"
    ,catalog="livraria_machado_de_assis"
)
public class Livro  implements java.io.Serializable {


     private Integer cdLivro;
     private Editora editora;
     private Autor autor;
     private String nmLivro;
     private String dsIdioma;
     private Date aaCriacao;
    

    public Livro() {
    }

	
    public Livro(Editora editora, Autor autor, String nmLivro, String dsIdioma, Date aaCriacao) {
        this.editora = editora;
        this.autor = autor;
        this.nmLivro = nmLivro;
        this.dsIdioma = dsIdioma;
        this.aaCriacao = aaCriacao;
    }
    public Livro(Editora editora, Autor autor, String nmLivro, String dsIdioma, Date aaCriacao, Set edicaos) {
       this.editora = editora;
       this.autor = autor;
       this.nmLivro = nmLivro;
       this.dsIdioma = dsIdioma;
       this.aaCriacao = aaCriacao;
       
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)
    
    @Column(name="cd_livro", unique=true, nullable=false)
    public Integer getCdLivro() {
        return this.cdLivro;
    }
    
    public void setCdLivro(Integer cdLivro) {
        this.cdLivro = cdLivro;
    }
@ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="cd_editora_fk", nullable=false)
    public Editora getEditora() {
        return this.editora;
    }
    
    public void setEditora(Editora editora) {
        this.editora = editora;
    }
@ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="cd_autor_fk", nullable=false)
    public Autor getAutor() {
        return this.autor;
    }
    
    public void setAutor(Autor autor) {
        this.autor = autor;
    }
    
    @Column(name="nm_livro", nullable=false, length=50)
    public String getNmLivro() {
        return this.nmLivro;
    }
    
    public void setNmLivro(String nmLivro) {
        this.nmLivro = nmLivro;
    }
    
    @Column(name="ds_idioma", nullable=false, length=15)
    public String getDsIdioma() {
        return this.dsIdioma;
    }
    
    public void setDsIdioma(String dsIdioma) {
        this.dsIdioma = dsIdioma;
    }
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="aa_criacao", nullable=false, length=19)
    public Date getAaCriacao() {
        return this.aaCriacao;
    }
    
    public void setAaCriacao(Date aaCriacao) {
        this.aaCriacao = aaCriacao;
    }





}


